package com.umpay.utils;

import javax.crypto.IllegalBlockSizeException;

import com.umpay.exception.BusinessException;


interface IEncrypt {
	public static final int KEY_TYPE_FOR_CRM = 0; // CRM平台内部加密时，传入此类型
	public static final int KEY_TYPE_FOR_ALL = 1; // 公司内部平台交互加密时，传入此类型
	/**
	 *【DES/3EDS入口】采用DES/3EDS加解密模式进行加密
	 * @creater :蔡鹏飞
	 * @time :2012-12-11 下午06:04:17
	 * @param showInfo 需要加密明文信息
	 * @param keyType  私钥类型：0.CRM平台内部加密；1.公司内部平台交互加密（调用时使用KEY_TYPE_FOR_CRM/KEY_TYPE_FOR_ALL常量）
	 * @return des加密方式加密后的密文
	 * @throws Exception
	 */
	public String enc_des(String showInfo, int keyType) ;
	/**
	 * 【DES/3EDS入口】采用DES/3EDS加解密模式进行解密
	 * @creater :蔡鹏飞
	 * @time :2012-12-11 下午06:04:17
	 * @param showInfo  需要解密的密文信息
	 * @param keyType  私钥类型：0.CRM平台内部加密；1.公司内部平台交互加密（调用时使用KEY_TYPE_FOR_CRM/KEY_TYPE_FOR_ALL常量）
	 * @return des方式解密后的密文
	 * @throws IllegalBlockSizeException 
	 * @throws Exception
	 */
	public String dec_des(String showInfo, int keyType) throws BusinessException;
}